The growing problems of traffic jams in modern telecommunication networks make unavoidable some data loss/data discard in cases of congestion, especially at network elements which aggregate a great number of data flows. For example, access networks nodes are responsible for transmitting traffic streams from numerous subscribers to a transport network, such as ATM, and vice versa.
Typically, the access node constitutes a Digital Signal Line Access Multiplexer—DSLAM), being capable of receiving a digital format traffic flow in an upstream direction, from the corresponding subscribers (e.g., over one or more xDSL lines) and transmitting them towards the ATM network. The DSLAM is also capable of receiving a digital format traffic flow in the downstream direction, from the ATM network and distributing it among its corresponding subscribers. The ATM connections may carry several types of traffic, sometimes categorized according to the ATM Adaptation Layer (AAL) type. One of the most widespread AAL types is AAL5, according to ITU-T I.363.5 standard.
A conventional DSLAM handling AAL5 packets of ATM may operate either at VP layer, or at VC layer. The AAL5 packet contains an integral data unit, which is segmented into ATM cells. The last cell that carries data from the AAL5 packet is identified by a special mark (occupying a bit in the PTI—Payload Type Identifier field of the cell header).
DSLAM handles a huge plurality of virtual channels VCs and may handle many Virtual Paths VPs. Any virtual channel comprises VC-services, for example voice, data, IP services, which can be carried over ATM. When handling AAL5 packets at the VC-layer, DSLAM recognizes when any AAL5 packet terminates. In case of traffic congestion, the DSLAM therefore is able to execute any known packet discard policy so as to avoid forwarding useless cells belonging to a packet affected by such discard operations. At the VC-layer, the discard decisions are usually provided according to:                A Partial Discard (PD) policy (After a cell is discarded for a congestion reason, all following cells of that packet will be discarded too, except for the last cell carrying the PTI field special mark), or        A Full Discard (FD) policy (Before forwarding the first cell in a packet, DSLAM verifies that there is enough resources to forward all cells in the packet. In case there is a problem, all cells of the packet will be discarded).        
The VP layer (VP-connection) is an aggregation of various services in the form of a mixture of AAL5 packets. The packet streams are multiplexed and enter the DSLAM to be further cross-connected. At VP-layer, the DSLAM is “unaware” both about the type of VC-services inside the VP-connection, and about the status of packets (i.e. whether there are packets which are in the middle of transmission, or are there packets which just terminated/started)
In cases of traffic congestion, while handling the AAL5 on VP-layer, cells are usually thrown away in a cell-based manner, regardless the AAL5 packet boundaries. This cell-based manner of discarding ATM cells has a reduced efficiency as the destination ATM network receives damaged and useless packets.
US published patent application 2002/0018474 A1 describes a method and apparatus, that enables high throughput of complete packets, transmitted under a packet switching protocol, such as the Internet Protocol (IP), over an ATM node. It is based on buffer threshold management, rather than on tracking individual Virtual Channels (VC). The method is suitable for cases in which data cells are routed according to their virtual path (VP). The basic principle of the method is to ensure that while accepting input data, the buffer has enough available capacity to store complete frames of as many VCs as possible and that, conversely, as long as the buffer's available capacity falls short of such a condition, all incoming data are discarded.
Though the above publication proposes a sort of solution for discarding packets at the VP-layer, it is based exclusively on providing available buffer capacity and, actually, gives a binary answer whether to start discarding cells or not. When the proposed algorithm decides to “block” a buffer, it is performed with respect to all the involved streams at once, practically breaking all currently passing AAL5 packets in the middle. More than that, when the algorithm decides to resume traffic into a buffer it is also performed to all the involved traffic. As a result, there are potentially many AAL5 packets without their respective prefix (i.e., useless cells are forwarded).